initial implementation of source