init with source