step by step LP