add new utils module
refinded structres and design