implemented first partly working version