further API improvements