some changes on hafen, still not right