final working before switch