...
need to add some poish but things are in working order