finished API, API docs, tests, moved old init and got the new one
commited __init__old.py refered in last commit