*some files have been moved
*new functional interfaceses  have been made as well as their realizations