alpha version implemented - need to improve documentation and may be add some tests