adding factory delegating methods - probably a fassade later on