Made a lot of changes, created a receiver class