Begin implementing class based