Note: I'll refactor that later into one single class.