logic frontend