Basic Functionality :D

Needs a lot of work, but it works