removed assumptions