chore: add core module