updating with more or less working stuff