use lazy
combinate attr and elm