adds paramter checking and +x flag