separated eclipse logic from language logic