Refactored and introduced some new structs