refactor & add 1st test