pay type guard
debug log
todo