Extended and improved API