added a rough profile system, not optimal solution but it works