add comparing logic
add tests