foreign methods