use php's native way of type checking arguments rather than manual; also php inheritated methods need to match name and argument signature