first prinitive working version