allowing for better extension of this class