forked from: with EFLA

