Initial commit with some features working.