changed from abstract functions into normal
Changed from instanceof into class_implements for string manipulation