Added abstract class ablility
Updated javadoc