Will merge into abstract