better split this up into separate test methodsß