finished getInstance method and createNewShape method