extra API functionality