agreed, we should refactor it!, we need to do it in another change though...