accept most changes from yjw-libs
Merge branch 'rasmus-master' into yjw-libs