Changing around some methods to handle better abstractions