re written code to be object orientaded.  Added smoke img