updated steamlined version