starting to drown, need to simplify