new functions
minor changes
new
minor changes