expanded functionality