monster implementation