new update, more compact