All base functionality including AI implemented