working in object render, some optimalization need more