Do not use List unless it's necessary and improve DynamicAdapter