#26 impl #24 bugfix +bugfix&clean