working, just no circular objects plz