Updated package structure to make everything cleaner/easier to
understand