complete rewrite
version 3.0.0-SNAPSHOT