added circle shape and shape factory and some minor changes.