add skip
fix return value
add tests