Most core functionality implemented, except AI and user interaction/output