a lot of various changes =)