developed some more apis and add unit tests' -u littmus