Initial commit, semi functional.