enough readme for now, time to add some helper functions