create spa from scratch