Default parameters implemeted + Extensive Code restructuring