working tests. Still not done