Cleaned up with working callbacks/objects