added a few tests and started callback system