first try to put it all together - just ran out of time atm