refactored render system