add documentation
add support for pull and push operations