finished accesor refacto