basic idea
lplex
lplex