* applying better structure