updated to fill my needs