first commit, functional.
