worked out basic functionality. Time to test!