can be a static method if you like