#90 more checks
#100 respect method override