also could be a static method