Complete revamp of code to multiple objects.