need better tests