it worcks

add test; implement newer; add description; clean