setup file needs a lot of work