some error handling
executable bit