Feature/rewrite input structs

#45 has been fixed in this branch.