expanded functionality a bit