first draft with some testing