refactor new shop to use form