Added constructor and updated interface

Single interfacing method added, helper methods changed to be private