refactor the package structure a bit
removed warn on type shadowing
adding options test