Entire Code(First git commit, please ignore errors :))