make proper interface for functions