Added several tests. Looks fine