Base system seems working. going to write tests