usability improvements, partially added some more APIs