form can follows function