condense to 2 methods