move fn with annotation