still trying for better f