some changes needed to implement this right