init returns TRUE if successful