constructor and internal classes ~90% done

i think i have defined and declared all constructor and internal classes
here let me know if good enough to push master or not