almost done - I hope at least