first complete working version ALPHA but oleeeeee