adds fit switch and better argument handling