we really need a manual way to do this