changed from callback madness to setter