simple pure js implementation is ready;