Working code

-Ready for Auto-Merge