cleaned up further