Initial commit, with basic logic. API not implemented.