added dynamic layout