Full Implementation V1

Comments need to be added