add log func
x(), y(), width(), height()
update framework