surely we can do better than this?