Further improved and extended API