simplify construction interfaces a bit