Second draft with reduced repeating code and independent variables
API initiated

Signed-off-by: Aniket Pant <me@aniketpant.com>
Improved API. Custom content is now supported

Signed-off-by: Aniket Pant <me@aniketpant.com>