Add requires_level decorator

fix #10