finishing first potential working version