changes to make it even more basic and work a little better
more polishing