added a bunch of changes
added pieces to working system