added basic Note abstract class