added dynamic vertical align