improve - synchronous read project list function