updated source and Doc with new APIs