Add draft for flexible target
Slightly reorganize crate