properly declaring i & p