updating docs + base implementation