Renamed some methods for easier reading, commented for better understandibility