this method is weird ;] `check_type` which returns `true` or `false`. Maybe you should provide better name for method