this should be an instance method