Public interface changes

Public interface almost finished!