pretty up interface and clean up code