added necessary files with good portion implemented