added "abstract" keyword.