fix design structure, naming issues
change package organization, add DTOs