Initial commit, splitted from mocasinns f0f1fdb847b4189a774aee4c4f2383f79ee42a57