updated for help by Steven