added more flexibility to options, move things to their own file