work in progress, testausta vaille valmis :-)