updated main engine loop