added basic functionality... bit of a stretch