add more specs
add sign-in / out function