Clean Up & Add Tests