Added some notes and implementation of artificial abstract class.