Need to add AI, tests, comments.