ideal framework