trying to improve structure