some changes
almost works