Initial commit. Initial implementation with minor bugs.