refactor of major methods, added remaining Lnp methods